# verse = ["春眠不觉晓","处处闻啼鸟","夜来风雨声","花落知多少"]
# print(verse[2])
# print(verse[-2])



L = ['a','b','c','d','e','f']
print(L[1:3])
# 从第一位开始，到第三位，不包括第三位 就是第1   2  位
print(L[1:2])

print(L[:2])
# 从0位开始，到第二位结束，不包括第2位

print(L[:-2])
# 从0位开始，到倒数第2位结束，不包括倒数第2位

print(L[-2 :])
# 倒数第2位到结束

print(L[-2])
# 倒数第2位

print(L[0: -1 :2])
# 从0位开始到倒数第1位，每隔两位取一个

print(L[:])
print(L[::])



print(L[::2])

print(L[::-2])
# 通过切片操作进行反转列表， 相当于 L.reverse（）





nba = ["迈克尔·乔丹","比尔·拉塞尔","卡里姆·阿卜杜尔·贾巴尔","威尔特·张伯伦","埃尔 文·约翰逊","科比·布莱恩特","蒂姆·邓肯","勒布朗·詹姆斯","拉里·伯德","沙奎尔·奥尼尔"]
print(nba[1:5])
print(nba[0:5:2])
print(nba[:])
print(nba[::])
# print(nba[])
print(nba[0])
print(nba[:1])
print(nba[:0])
print(nba[::1])





nba1 = ["迈克尔·乔丹","比尔·拉塞尔","卡里姆·阿卜杜尔·贾巴尔","威尔特·张伯伦","埃尔 文·约翰逊","科比·布莱恩特","蒂姆·邓肯","勒布朗·詹姆斯","拉里·伯德","沙奎尔·奥尼尔"]
nba2 = ("德怀特·霍华德","德维恩·韦德","凯里·欧文","保罗·加索尔","迈克尔·乔丹")
num = [1,2 ,3 ,4,5,6,7,8,9]
# print(nba1+nba2) 序列类型必须是相同类型，序列中的数据可以不同
print(nba1+num)

print("迈克尔·乔丹" in nba1)
print("迈克尔·乔丹" not in nba1)

name = ['张三','李四','王五','赵六','钱七']
print(len(name))

print(name.index('李四'))
print(name.index('李四',0,-1))
# 返回序列 name从  0 开始到 -1位置中第一次出现元素’李四‘的位置





print("序列长度为",len(num))
print("序列",num,"中最大值为",max(num))
print("序列",num,"中最小值为",min(num))
print("序列",num,"的和",sum(num))


a = ('欢迎' ,'常信' ,'学习')
print(str(a))
print(tuple(a))
print(list(a))
print(''.join(a))
# 用空串连接各元素






y = ['a']
z = ['a','b','c','d',[1,2,3],'e']

m = [1,2,3,4,5,6,7,8,9,10]
print(m)
p = m
print(p)
print(id(m))
print(id(p))
p.append(1)

print(m)
print(p)
# p 和 m 指向同一个列表，p修改会导致m值修改，反之亦然

q = m[2:5]


x = [1,2,3,4,5]
x[4] = 11
y = ['a','b']
x[2:3] = y
print(x)
t = [7]
x[3:5] = t
print(x)


a= [1,2,3,4,5]
a.append(6)
b = ['a','b']
a=  a+b
print(a)
a.extend(b)
# 末尾添加元素用 append
# 末尾添加列表用+或者extend方法
print(a)
a.append(b)
print(a)
a.insert(2,9)
print(a)
# 中间插入元素  第2位 变为9
a.pop(3)
print(a)
del a[4:5]
print(a)
# 删除元素 可用方法pop或者函数del

a.remove('a')
print(a)
# 根据元素删除元素  使用remove方法 值删除第一次出现的
# a.remove('c')
# print(a)
# remove使用前需要使用count方法确保元素是否存在，否则如果不存在就是用remove函数，会报错

b.clear()
print(b)
# 删除所有元素 clear（）


q=[5,1,3,2,4]
q.sort()#排序
print(q)#本身已经排序了，地址未变
# 注意m.sort()方法没有返回值，如果想要把排序后的列表赋值给另一个列表，需要用到Python内置函数sorted()
q=[5,1,3,2,4]
n=sorted(q)
#m本身还是原值，新排好的列表赋值给了n，n有新的地址
print(n)




grade = [100,80,86,98,87]
print("原序列",grade)
grade.sort()
print("升 序",grade)
grade.sort(reverse=True)
print("降 序",grade)

char=["Angela","Tom","cat","pet"]
char.sort()
print("区分字母大小写：",char)
char.sort(key =str.lower)
print("不区分字母大小写：",char)





print("2017-2018赛季nba西部联盟前八名\n")
team=["火箭","勇士","开拓者","雷霆","爵士","鹈鹕","马刺","森林狼"]
for  item in team :
    print(item)

print("2017-2018赛季nba西部联盟前八名\n")
team=["火箭","勇士","开拓者","雷霆","爵士","鹈鹕","马刺","森林狼"]
for index,item in enumerate(team):
    print("第",index+1,"名：" ,item)


from random import *
a =[]
for i in range(10):
    a.append(randint(0,100))
for j in range(10):
    print(a[j],end = '')
print()
print(min(a))
a.sort()
print(a)
a.reverse()
print(a)
